// global/enter.go
// =============================================================================
// | 包: global                                                                |
// | 功能: 定义应用程序的全局变量和全局访问点                                   |
// =============================================================================
package global

import (
	"blog_server/conf" // 配置定义包 - 提供应用程序配置结构体定义

	"github.com/go-redis/redis"
	"gorm.io/gorm" // GORM数据库ORM框架 - 提供数据库操作接口
)

// =============================================================================
// | 全局变量定义                                                               |
// =============================================================================
var (
	// =============================================================================
	// | 变量: Config                                                             |
	// | 类型: *conf.Config                                                       |
	// | 功能: 全局配置变量                                                       |
	// | 用途: 存储应用程序的全局配置信息，在整个应用程序中访问配置参数           |
	// | 初始化: 在main.go中通过core.ReadConf()函数初始化                         |
	// =============================================================================
	Config *conf.Config // 全局配置变量 - 存储应用程序的所有配置信息

	// =============================================================================
	// | 变量: DB                                                                 |
	// | 类型: *gorm.DB                                                           |
	// | 功能: 全局数据库连接实例                                                 |
	// | 用途: 存储数据库连接对象，提供全局访问的数据库操作接口                   |
	// | 初始化: 在main.go中通过core.InitDB()函数初始化                           |
	// =============================================================================
	DB *gorm.DB // 全局数据库连接实例 - 提供数据库操作的统一入口

	Redis *redis.Client
)
